AspectD: Enhancing a Standard Debugger with Aspects

نویسندگان

  • Massimiliano Menarini
  • Yan Yan
  • William G. Griswold
چکیده

Aspect-oriented techniques have gained some favor in program tracing, profiling, and debugging. Yet, taking advantage of AOP typically requires giving up the traditional benefits of using a debugger, such as interactive exploratory introspection and remote execution. However, the APIs debuggers present to their scripting languages are not designed for aspect weaving, creating technical challenges. This paper discusses the programming primitives debuggers must support for weaving aspects into programs. The implementation choices in a debugger can lead to substantial differences in expressiveness and performance of the aspectoriented language that can be built on top of the debugger. As an initial exploration of the design tradeoffs and implementation possibilities, we present AspectD, a tool that uses the Java Debug Interface (JDI) to weave simple aspects into Java programs. We analyze the performance and complexity of different types of advice in real-world program analysis and identify shortcoming of the current JDI API and propose improvements to enable the use of JDI for weaving aspects. The resulting lessons provide a design space for adding aspect orientation to a wide class of debuggers.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cyclic Debugging for pSather, a Parallel Object-Oriented Programming Language

The paper discusses the main aspects of a parallel debugger for the parallel object-oriented language pSather. PSather provides for a single shared-address space and for multiple threads per processor. Threads can arbitrarily migrate between processors. The debugger supports cyclic debugging which is a standard and quite effective technique for sequential programs. To address nondeterminism, de...

متن کامل

Term Rewriting Meets Aspect-Oriented Programming

We explore the connection between term rewriting systems (TRS) and aspect-oriented programming (AOP). Term rewriting is a paradigm that is used in fields such as program transformation and theorem proving. AOP is a method for decomposing software, complementary to the usual separation into programs, classes, functions, etc. An aspect represents code that is scattered across the components of an...

متن کامل

Enhancing Declarative Debugging with Loop Expansion and Tree Compression

Declarative debugging is a semi-automatic debugging technique that allows the programer to debug a program without the need to see the source code. The debugger generates questions about the results obtained in different computations and the programmer only has to answer them to find the bug. Declarative debugging uses an internal representation of programs called execution tree, whose structur...

متن کامل

The Evolution of Dbx

Dbx is the standard source-level debugger on most Unix1 workstations. Over the past six years Dbx has grown from a debugger for interpreted Pascal programs to a debugger for compiled C, C++, FORTRAN, Pascal, and Modula-2 programs. Dbx also has been retargetted to a variety of architectures, including VAX2, Motorola 680003, MIPS, IBM RT-PC4, IBM 370, Sun SPARC, and Intel 80386. This paper descri...

متن کامل

A Debugger for Standard Ml 1

We have built a portable, instrumentation-based, replay debugger for the Standard ML of New Jersey compiler. Traditional \source-level" debuggers for compiled languages actually operate at machine level, which makes them complex, diicult to port, and intolerant of compiler optimization. For secure languages like ML, however, debugging support can be provided without reference to the underlying ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015